﻿using System;
using System.Collections.Generic;
using System.IO;
using FileEngine.CompareFiles;

namespace FindClone
{
    public class ByteEqualityComparer : IEqualityComparer<string> 
    {
        private readonly CompareFilesBlock2Block _func = new CompareFilesBlock2Block();

        public bool Equals(string filePath1, string filePath2)
        {
            try
            {
                var fi1 = new FileInfo(filePath1);
                var fi2 = new FileInfo(filePath2);
                
                // Читаем блоками по 128KB
                return _func.Compare(fi1, fi2, 128 * 1024);
            }
            catch (Exception)
            {
                //Если не можем сравнить, то говорим, что не одинаковые
                return false;
            }
        }

        public int GetHashCode(string obj)
        {
            return 0;
        }
    }
}